//
//  weiboNavigationController.swift
//  czWB
//
//  Created by Qing on 2018/5/25.
//  Copyright © 2018年 成哥哥. All rights reserved.
//

import UIKit

class WBNavigationController: UINavigationController {
    
    override func viewDidLoad() {
        
//        隐藏导航栏
        isNavigationBarHidden = true
        
    }
    
    /// 重写Push方法，每次push都会调用hides属性。
    ///
    /// - Parameters:
    ///   - viewController: push的对象控制器
    ///   - animated: true / false
    override func pushViewController(_ viewController: UIViewController, animated: Bool) {
        
//        如果不是栈底控制器才需要隐藏，根控制器不需要隐藏
        if children.count > 0 {
//            隐藏对象控制器的tabBar
            viewController.hidesBottomBarWhenPushed = true

            }
        
        var title = "返回"
//        判断控制器级数，只有1个控制器的时候，显示栈底控制器的标题。
        if children.count == 1 {

            title = children.first?.title ?? "返回"
        }
        
        //判断控制器类型，因为所有的控制器类型（home,mesessge,discorey,profile）都是继承积类
        if let vc = viewController as? WBDemoViewController {
//            取出自定义 navItem
            vc.navItem.leftBarButtonItem = UIBarButtonItem.init(title: title, target: self, action: #selector(WBNavigationController.PopToParent), isBack: true)
        }
        
        super.pushViewController(viewController, animated: true)
    }
    
    
    /// 返回上一级
    @objc func PopToParent()  {
        
        popViewController(animated: true)
    }

}
